Rendering process

ABSTRACT

A value for expressing the fraction of the area occupied by a polygon within a pixel and a value for expressing the degree of transparency of the pixel are multiplied together for each pixel. The multiplied product is reset as the degree of transparency for each pixel, according to which a color preset for each pixel composing the polygon is mixed with the colors of other pixels rendered on a two-dimensional coordinate which is substantially the same as that for the pixels composing the polygon. This allows semi-transparent polygons to be processed by anti-aliasing without being changed into opaque polygons.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority from Japanese Patent ApplicationNo. 2001-213767 filed on Jul. 13, 2001, and No. 2002-28026 filed on Feb.5, 2002, the disclosures of which are hereby incorporated by referenceherein.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to a rendering process fordisplaying three-dimensional images on a two-dimensional screen, such ason a television monitor, a device used therefor, a recording mediumhaving recorded thereon a rendering process program and such renderingprocess program.

[0003] There are accelerating trends in higher integration and fasterprocessing speed of processors and memories in recent television gameconsole machines and personal computers, so that a rendering processingdevice composed of such game console machine or personal computer cangenerate fine, high-definition, diversified two-dimensional images withreal presence in a real-time manner, and can display them ontwo-dimensional monitor screens.

[0004] When a three-dimensional image is rendered on a two-dimensionalmonitor screen, the three-dimensional polygon data are subjected tovarious geometric processes such as coordinate conversion, clipping andlighting, and the resultant data are further subjected to transparentprojection conversion. The rendering processing device pastes textureshaving various colors and patterns onto polygons to thereby give desiredcolors and patterns to the objects.

[0005] The three-dimensional polygons herein are to be expressed with alimited number of pixels on the two-dimensional screen, so that an imagerendered on the two-dimensional screen will clearly have variousdisorders generally referred to as aliasing. In particular, the edgeportion of an image traversing obliquely on the two-dimensional screenwill have a step-like unsmoothness (so-called jaggedness) representingpixel profiles on the edge of the image.

[0006] Thus, a conventional rendering processing device employsso-called anti-aliasing, which is a process for removing or preventingaliasing such as jaggedness. A typical anti-aliasing process employed bythe conventional rendering processing device for removing jaggedness isas follows.

[0007] The rendering processing device first determines pixel coverage,and then sets an a value corresponding to such pixel coverage. Thedevice then mixes a pixel color to be used as a background and a pixelcolor to be used as a foreground according to such a value, whichsuccessfully makes the jaggedness unrecognizable. This technique isadopted by an extremely large number of rendering processing devicessince only a single time of processing will successfully yield effectiveanti-aliasing. The pixel coverage herein refers to a value forexpressing a fraction of the area occupied by a polygon within onepixel, and is given by a real number ranging from 0 to 1. For example,any pixel not containing an edge portion will have a value of “1” forthe pixel coverage. The α value refers to a degree of transparency(semi-transparency) used in the rendering process of the individualpixels, and is given by a real number ranging from 0 to 1. For example,a pixel having a value of “1” for the α value is an opaque pixel. Forthe case that the foreground pixels are opaque, the color of suchforeground pixels will never be mixed with the color of backgroundpixels.

[0008] The foregoing anti-aliasing technique is, however, not applicableto polygons which are semi-transparent from the beginning. That is, theforegoing anti-aliasing technique gives a pixel coverage value of “1”for all pixels other than those located in the edge portion, so that theα values for such pixels are inevitably set to “1”. This means that theforegoing anti-aliasing technique undesirably changes polygons whichshould intrinsically be semi-transparent into opaque ones. This is whythe foregoing anti-aliasing technique is not applicable to polygonswhich are semi-transparent from the beginning.

SUMMARY OF THE INVENTION

[0009] The present invention was proposed to address the foregoingproblems, and an object thereof resides in providing a rendering processcapable of subjecting semi-transparent polygons to anti-aliasing, adevice used therefor, a recording medium having recorded thereon arendering process program and such rendering process program.

[0010] According to the present invention, in a polygon composed of aplurality of pixels, a value for expressing a fraction of the area of aspecified pixel occupied by the polygon and a value for expressing adegree of transparency corresponding to the specified pixel aremultiplied with each other to obtain a multiplied product. Themultiplied product is reset as a new degree of transparency for thespecified pixel. A preset color for the specified pixel is mixed with acolor of another pixel adjacent the specified pixel and not in thepolygon based on the multiplied product.

[0011] That is, according to the present invention, a value obtained bymultiplying a source α by the pixel coverage is reset as a new α value,based on which α-blending is carried out. This allows semi-transparentpolygons to be processed by anti-aliasing without being changed intoopaque polygons.

[0012] Other and further objects and features of the present inventionwill become obvious upon an understanding of the illustrativeembodiments about to be described in connection with the accompanyingdrawings or will be indicated in the appended claims, and variousadvantages not referred to herein will occur to one skilled in the artupon employing the invention in practice.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013]FIG. 1 is a drawing of a semi-transparent polygon rendered asbeing laid across an opaque polygon and a background;

[0014]FIG. 2 is an enlarged view of an edge portion of thesemi-transparent polygon rendered on the opaque polygon;

[0015]FIG. 3 is a block diagram showing an exemplary specificconstitution of a device for implementing a rendering process includinganti-aliasing;

[0016]FIG. 4 is a block diagram showing the schematic constitution of acomputer implementing the rendering process; and

[0017]FIG. 5 is a flow chart of a rendering process executed by acomputer.

DETAILED DESCRIPTION

[0018] Various embodiments of the present invention will be describedwith reference to the accompanying drawings. It is to be noted that thesame or similar reference numerals are applied to the same or similarparts and elements throughout the drawings, and the description of thesame or similar parts and elements will be omitted or simplified.

[0019] An outline of anti-aliasing executed by the rendering processingdevice of the present invention will be explained with reference toFIGS. 1 and 2.

[0020] The following description deals with a case in which an opaquepolygon PGa is placed on a background BGc, and a semi-transparentpolygon PGb is further placed thereon so as to be laid across suchopaque polygon PGa and background BGc as shown in FIG. 1.

[0021] It is to be noted in the following description, the source avalues of the individual pixels composing the semi-transparent polygonPGb are denoted as αb, the color of the individual pixels composing theopaque polygon PGa is denoted as Ca, the color of the individual pixelscomposing the semi-transparent polygon PGb is denoted as Cb, and thecolor of the individual pixels composing the background BGc is denotedas Cc.

[0022] When the semi-transparent polygon PGb is rendered by α-blending,the pixel color Ca of the opaque polygon PGa and the pixel color Cc ofthe background BGc are used as destination colors, and such destinationcolors (Ca, Cc) are α-blended with the pixel color Cb of thesemi-transparent polygon PGb. Note that a-blending refers to a renderingtechnique by which pixels composing different polygons are rendered onthe same two-dimensional coordinates by mixing the individual colorsthereof according to the α values.

[0023] Assuming that, as shown in FIG. 1, the pixel color in theoverlapped area of the semi-transparent polygon PGb and the opaquepolygon PGa obtained after α-blending is denoted as CTa, and the pixelcolor in the overlapped area of the semi-transparent polygon PGb and thebackground BGc obtained after α-blending is denoted as CTc, such pixelcolors CTa and CTc in the overlapped areas can be expressed by thefollowing formulae (1) and (2):

CTa=αb*Cb+(1−αb)*Ca  (1)

CTc=αb*Cb+(1−αb)*Cc  (2)

[0024] Next, the rendering processing device generates information onthe pixel coverage taking the source a value αb of the semi-transparentpolygon PGb into consideration, and uses such pixel coverage as an avalue in the α-blending, to thereby complete anti-aliasing for thesemi-transparent polygon PGb. A procedure by which the renderingprocessing device of the present invention generates such information onthe pixel coverage taking the source α value αb of the semi-transparentpolygon PGb into consideration is as follows.

[0025] Assuming now that the pixel coverage of the individual pixelscomposing the semi-transparent polygon PGb is Cov, the pixel color inthe overlapped area of the semi-transparent polygon PGb and the opaquepolygon PGa after anti-aliasing is CTAa, and the pixel color in theoverlapped area of the semi-transparent polygon PGb and background BGcis CTAc, such pixel colors CTAa and CTAc can be expressed by thefollowing formulae (3) and (4):

CTAa=Cov*CTa+(1−Cov)*Ca   (3)

CTAc=Cov*CTc+(1−Cov)*Cc   (4)

[0026] where pixel coverage value Cov equals “1” when the pixel iscompletely (by 100%) covered with the semi-transparent polygon PGb, andequals “0” when the pixel is not covered at all.

[0027] Substitution of formula (1) in formula (3) yields formula (5),and substitution of formula (2) in formula (4) yields formula (6) below:

CTAa=(Cov*αb)*Cb+(1−(Cov*αb))*Ca   (5)

CTAc=(Cov*αb)*Cb+(1−(Cov*αb))*Cc   (6)

[0028] where the term (Cov*αb)*Cb in formula (5) corresponds with theterm αb*Cb in formula (1), and the term (Cov*αb)*Cb in formula (6)corresponds with the term αb*Cb in formula (2). Similarly, the term(1−(Cov*αb))*Ca in formula (5) corresponds with the term (1−αb)*Ca informula (1), and the term (1−(Cov*αb))*Cc in formula (6) correspondswith the term (1−αb)*Cc in formula (2). That is, these formulae (5) and(6) express processing equivalent to the general α-blending except thatthey use, as a new a value, a source α value of the semi-transparentpolygon PGb multiplied by the pixel coverage Cov.

[0029] Calculation results of the formulae (5) and (6) will specificallybe explained with reference to FIG. 2. FIG. 2 is an enlarged view of theboundary portion of the semi-transparent polygon PGb and opaque polygonPGa shown in FIG. 1 so that formula (5) is adapted for α-blending. Thereference symbol Eb in FIG. 2 denotes an edge boundary of thesemi-transparent polygon PGb. Reference symbols p1 to p6, p11 to p16 andp21 to p25 respectively represent the pixels. Pixel coverage value Covis now defined as 0.2 for the pixels p1 to p6, 0.8 for the pixels p11 top16, and 1 for the pixels p21 to p25. The source α value αb (preset avalue) of the semi-transparent polygon PGb is defined now as 0.5. Notethat in FIG. 2 the pixel color of the semi-transparent polygon PGb isexpressed as Cb and the pixel color of the opaque polygon PGa isexpressed as Ca.

[0030] In the exemplary case shown in FIG. 2, the pixel color CTAa ofthe pixels p1 to p6 after anti-aliasing based on formula (5) isexpressed by formula (7) below:

CTAa=(0.2*0.5)Cb+(1−(0.2*0.5))*Ca=0.1*Cb+0.9*Ca   (7)

[0031] Formula (7) indicates that the pixel colors Cb and Ca are mixedat a ratio of (0.1*Cb+0.9*Ca).

[0032] The pixel color CTAa after anti-aliasing of the pixels p11 to p16is expressed by formula (8) below:

CTAa=(0.8*0.5)Cb+(1−(0.8*0.5))*Ca=0.4*Cb+0.6*Ca   (8)

[0033] Formula (8) indicates that the pixel colors Cb and Ca are mixedat a ratio of (0.4*Cb+0.6*Ca).

[0034] The pixel color CTAa after anti-aliasing of the pixels p21 to p26is expressed by formula (9) below:

CTAa=(1*0.5)Cb+(1−(1*0.5))*Ca=0.5*Cb+0.5*Ca   (9)

[0035] Formula (9) indicates that the pixel colors Cb and Ca are mixedat a ratio of (0.5*Cb+0.5*Ca).

[0036] It is known from the above that the pixels p1 to p6 and p11 top16 including the edge boundary Eb shown in FIG. 2 will haveanti-aliasing depending on the pixel coverage. On the other hand, thepixels p21 to p25 not including the edge boundary Eb will never beturned into opaque even after anti-aliasing so that the opaque polygonPGa can be seen through the semi-transparent polygon PGb.

[0037] As has been described above, the rendering processing deviceaccording to the present embodiment multiplies a source α value of thesemi-transparent polygon by the pixel coverage, and uses the thusobtained multiplied product as a new α value for α-blending to therebyenable anti-aliasing of such semi-transparent polygon in only a singletime of processing.

[0038]FIG. 3 shows an exemplary specific constitution of the renderingprocessing device responsible for the foregoing anti-aliasing. Theconstitution shown in FIG. 3 is one example by which the renderingprocess of the present embodiment is carried out by hardware such as adigital signal processor (DSP) or a graphic processor (GP). Theindividual components shown in FIG. 3 correspond to the individualinternal processing units of such DSP or GP.

[0039] As shown in FIG. 3, a memory 51 stores graphic information suchas polygons (apex information or apex-linked information such ascoordinate values for apexes, RGB apex color values, map coordinatevalues and vector values). The graphic information herein is previouslycaptured by being read out from various recording media such as aCD-ROM, DVD-ROM or semiconductor memory, or by being downloaded throughcommunication or transmission media based on line or radiocommunication.

[0040] A CPU 58 controls operations of the individual units based on acontrol program.

[0041] A geometry calculation unit 50 retrieves stored graphicinformation from the memory 51, and then subjects the retrieved graphicinformation to so-called affine transformation, projection conversiononto a screen coordinate, and light source processing for the apexes.The graphic information after the projection conversion (polygon data)is sent to a rendering unit 52.

[0042] The rendering unit 52 is responsible for calculation fordisplaying polygons on the screen, and converts polygon data sent fromthe geometry calculation unit 50 into pixels. The rendering unit 52 canroughly be divided into a polygon setup/rasterizing unit 61(hereinafter, simply abbreviated as PSR unit 61), a pixel pipeline unit63 and a frame buffer 64.

[0043] The rendering unit 52 is provided with a texture buffer 54 and aZ buffer 55. The texture buffer 54 stores texel colors of textures thatare R, G, B values and α values (A) for defining pixel colors forpolygons. The Z buffer 55 stores Z values which express the depth-wisedistance of an image from a viewpoint. The texture and Z values hereinare previously captured by being read out from various recording mediasuch as a CD-ROM, DVD-ROM or semiconductor memory, or by beingdownloaded through communication or transmission media based on line orradio communication.

[0044] The PSR unit 61 is provided with a constitution for enablinglinear interpolation which is known as so-called DDA (digitaldifferential analysis). The PSR unit 61 is responsible for retrievingand buffering polygon data sent from the geometry calculation unit 50,pixel generation through rasterizing, and calculation of texelcoordinate values. Pixel data and texel coordinate values are sent tothe pixel pipeline unit 63. The PSR unit 61 is also provided with apixel coverage parameter generation unit 62 (hereinafter, simplyabbreviated as PCP unit 62) for finding the pixel coverage value Covexpressing the ratio of area occupied by a polygon within one pixel.

[0045] The pixel pipeline unit 63 determines the individual pixel colorsbased on the texel coordinate values received from the PSR unit 61 andreference to texel colors obtained from the texture buffer 54, and thenexecutes texture mapping taking the Z values stored in the Z buffer 55into consideration.

[0046] The pixel pipeline unit 63 is also provided with a multiplicationunit 71 and an α-blending unit 72. The multiplication unit 71 multipliesthe pixel coverage value Cov obtained from the PCP unit 62 by the αvalue α of each pixel obtained from the texture buffer 54. Theα-blending unit 72 performs α-blending for every pixel.

[0047] In anti-aliasing of the semi-transparent polygon PGb explainedabove with reference to FIGS. 1 and 2, the pixel pipeline unit 63performs the calculations expressed by formulae (5) and (6). In thiscase, the multiplication unit 71 is activated, and the α value αb of thesemi-transparent polygon PGb is multiplied by the pixel coverage valueCov. The α-blending unit 72 then performs α-blending of each pixel usingthe obtained multiplied product as a new α value.

[0048] On the other hand, the multiplication unit 71 of the pixelpipeline unit 63 is inactivated for anti-aliasing of opaque polygons.More specifically, the multiplication unit 71 herein does not performmultiplication. Instead, the α-blending unit 72 sets α valuescorresponding to the pixel coverage values for such opaque polygons, andperforms α-blending depending on the newly set α values.

[0049] It is to be noted that if aliasing should occur in polygons, suchaliasing may not be noteworthy for the user if such polygons are thosecomposing an image of a less important scene. It is therefore alsoallowable in the rendering processing device of the present embodimentto inactivate anti-aliasing for the polygons composing an image of aless important scene.

[0050] As for the polygons composing an image of an important scene,aliasing will not always be very distinctive, even when the polygons arenot subjected to anti-aliasing, if such polygons have an extremely hightransparency. It is therefore also allowable in the rendering processingdevice of the present embodiment to disable the multiplication step byinactivating the multiplication unit 71 of the pixel pipeline unit 63for semi-transparent polygons which do not show distinct aliasing byvirtue of their extremely high transparency, and thus have only a smallnecessity for anti-aliasing. The α-blending unit 72 in this caseperforms α-blending depending on the α values preset to thesemi-transparent polygons.

[0051] The rendering processing device of the present embodiment canalso regulate activation/inactivation of the multiplication step by themultiplication unit 71 depending on the details of the image to berendered. More specifically, the rendering processing device willinactivate the multiplication step by the multiplication unit 71 whenthe aliasing occurs in an image of a less important scene and exertsonly a limited degree of visual influence to such image if aliasingshould occur to some degree. The α-blending unit 72 in this caseperforms α-blending depending on the α values preset to the polygons inthe image of such less important scene.

[0052] Of course, the rendering processing device can activate themultiplication unit 71 when an opaque polygon is subjected toanti-aliasing, or even when a semi-transparent polygon less affected byaliasing or a polygon in a less important scene is to be handled. It isto be noted, however, that it is advantageous for the renderingprocessing device to inactivate the multiplication unit 71 for opaquepolygons, semi-transparent polygons less affected by aliasing orpolygons in a less important scene in terms of relieving the device fromthe calculation load.

[0053] As has been described above, the rendering processing device isdesigned to freely select activation or inactivation of anti-aliasingdepending on the details of the image to be rendered, the transparencyof the polygon and so forth, so that the device can execute a properrendering process as required. Since various rendering processesdepending on need are executable in the present embodiment, a largerdegree of freedom will be ensured in developmental efforts forapplication software for image rendering, which allows the softwaresupplier to freely produce his or her desired software.

[0054] Set values for setting activation or inactivation of themultiplication unit 71 are provided on a register 53. Which set valuesare to be output from the register 53 is controlled, for example, by theCPU 58 based on the control program. More specifically, whenanti-aliasing is to be performed for a semi-transparent polygon, the CPU58 controls the register 53 so as to output a set value to activate themultiplication unit 71. On the other hand, when anti-aliasing is to beperformed for an opaque polygon, or when anti-aliasing is lessnecessary, the CPU 58 controls the register 53 so as to output a setvalue to render the multiplication unit 71 inactive. The CPU 58 can alsodetermine whether a source a value of a polygon expresses a hightransparency or low transparency, and switch the activation/inactivationof the multiplication unit 71 in a real-time manner based on suchdetermination.

[0055] The individual pixel data output from the pixel pipeline unit 63are sent to the frame buffer 64. The frame buffer 64 is provided with amemory space corresponding to the display (screen) 57, such as atelevision monitor, in which color values of the individual pixels willbe written. Screen data by frames are thus formed in such memory space,and are read out upon request by a display control unit 56.

[0056] The display control unit 56 generates horizontal synchronizingsignals and vertical synchronizing signals of the television monitordevice, and also serially retrieves pixel data from the frame buffer 64in a line-feed manner in synchronization with the display timing on themonitor. The serially-retrieved, line-fed color values compose atwo-dimensional image which will be displayed on the display 57.

[0057] The rendering process of the present embodiment is not onlyachievable through such hardware constitution shown in FIG. 3, but can,of course, also be implemented on a software basis (application programsfor a computer).

[0058]FIGS. 4 and 5 show the constitution and operation of a computer onwhich the rendering process is implemented. FIG. 4 shows an exemplaryconstitution of the principal portion of the computer. FIG. 5 shows aprocess flow according to which a CPU 123 of the computer shown in FIG.4 executes the rendering process program of the present invention.

[0059] In FIG. 4, a storage unit 128 typically comprises a hard disk anda drive therefor. Such storage unit 128 has stored therein an operatingsystem program, a computer program 129 including the rendering processprogram of the present embodiment read out from various recoding media,such as a CD-ROM or DVD-ROM, or downloaded through a communication line,and a variety of data 130, such as graphic information for polygonrendering, and RGBA values and Z values for textures.

[0060] A communication unit 121 refers to a communication deviceresponsible for data communication with external devices, which may be amodem for establishing connection to an analog public telephone line, acable modem for establishing connection to a cable television network, aterminal adaptor for establishing connection to an ISDN (integratedservices digital network), or a modem for establishing connection to anADSL (asymmetric digital subscriber line). A communication interface(I/F) unit 122 refers to an interface device responsible for protocoltransfer to enable send/receive of data between the communication unit121 and an internal bus.

[0061] An input unit 133 refers to an input device, such as a keyboard,mouse or touch pad, and a user interface (I/F) unit 132 refers to aninterface device for supplying signals from such input unit 133 to theinternal components.

[0062] A drive unit 135 refers to a drive device capable of reading outvarious data or programs from a recording medium including a disk medium151, such as a CD-ROM, DVD-ROM or floppy (trade mark) disk, or from acard-type or other type of semiconductor memory. A drive interface (I/F)unit 134 refers to an interface device for supplying signals from thedrive unit 135 to the internal components.

[0063] A display unit 137 refers to a display device, such as a CRT(cathode ray tube) or liquid crystal display, and a display drive unit136 is a device for driving such display unit 137.

[0064] The CPU 123 controls the entire operation of the personalcomputer based on the operating system program stored in the storageunit 128 or the computer program 129 of the present embodiment.

[0065] A ROM 124 typically comprises a rewritable non-volatile memory,such as a flash memory, and stores a BIOS (basic input/output system)and various default values of the personal computer. A RAM 125 will haveloaded therein application programs and various data read out from ahard disk of the storage unit 128, and is used as a work RAM of the CPU123.

[0066] In the constitution shown in FIG. 4, the CPU 123 can accomplishthe image processing described in the above embodiment by executing therendering process program of the embodiment, which is one of theapplication programs read out from the storage unit 128 and loaded intothe RAM 125.

[0067] Next, the process flow which occurs when the CPU 123 of thecomputer shown in FIG. 4 operates based on the rendering process programof the present embodiment will be explained with reference to FIG. 5.

[0068] In step S1 shown in FIG. 5, the CPU 123 retrieves from thestorage unit 128 graphic information for polygon rendering, and RGBAvalues and Z values for textures stored therein as data 130, and allowsthe RAM 125 to hold them.

[0069] The CPU 123 then, in step S2, retrieves the graphic informationheld by the RAM 125, and subjects the graphic information to geometrycalculation and perspective conversion, such as affine conversion,projection conversion onto a screen coordinate, and light sourceprocessing for the apexes.

[0070] In step S3, the CPU 123 performs rasterizing using polygon dataobtained by the geometric calculation, and then, in step S4, determineswhether anti-aliasing is or is not necessary. If it is determined thatanti-aliasing is necessary, the processing of the CPU 123 advances tostep S5, and if not, to step S8.

[0071] In step S5, the CPU 123 generates a pixel coverage value. Next,in step S6, the CPU 123 determines whether the polygon issemi-transparent or opaque. If the polygon is found in step S6 to besemi-transparent, the pixel coverage value is multiplied by the α valuein step S7. The CPU 123 then, in step S8, performs α-blending using suchmultiplication product as a new α value. This successfully finishesanti-aliasing for the semi-transparent polygon in which aliasing tendsto be conspicuous.

[0072] On the other hand, if the polygon was found in step S6 to beopaque, the CPU 123 performs α-blending in step S8 using the pixelcoverage value obtained in step S5 as an α value, to thereby subjectsuch opaque polygon to anti-aliasing.

[0073] The semi-transparent polygon already determined in step S4 as notbeing in need of anti-aliasing, or a polygon in an less-important scene,is subjected to α-blending in step S8 using α values preset to suchpolygons.

[0074] The CPU 123 then, in step S9, generates a screen image from thepixel data, and sends information on such screen image to the displaydrive 136 in step S10. An image will thus appear on the display unit137.

[0075] As has been described above, the rendering processing device ofthe present embodiment implements anti-aliasing for a semi-transparentpolygon which is in need of such processing by multiplying a source avalue of such semi-transparent polygon by a pixel coverage value, and bythen performing a-blending using the multiplied product as a new αvalue.

[0076] On the other hand, the rendering processing device of the presentembodiment performs α-blending also for an opaque polygon by using ageneral pixel coverage value as an α value. The rendering processingdevice can also control processing so as to perform only generalα-blending without effecting anti-aliasing for semi-transparent polygonsin which aliasing is inconspicuous, which successfully relieves thedevice from processing loads.

[0077] The rendering process in the present embodiment can selectactivation/inactivation of anti-aliasing depending on the details of animage to be rendered or the transparency of the polygon, so that thedevice can execute the proper rendering process as required. Anotheradvantage of the rendering process of the present embodiment is that alarger degree of freedom will be ensured in developmental efforts forapplication software.

[0078] Although the invention herein has been described with referenceto particular embodiments, it is to be understood that these embodimentsare merely illustrative of the principles and applications of thepresent invention. It is therefore to be understood that numerousmodifications may be made to the illustrative embodiments and that otherarrangements may be devised without departing from the spirit and scopeof the present invention as defined by the appended claims.

[0079] For example, the rendering process of the present embodiment isapplicable not only to a specialized video game machine or personalcomputer, but also to various information processing devices includingportable phone terminals. While color images were exemplified by thepresent embodiment, the present invention is also applicable tomonochrome images.

1. A process for rendering a specified pixel in a polygon composed of aplurality of pixels, the polygon being a part of an image includingpixels not in the polygon, the rendering process comprising: determininga fraction of the area of the specified pixel occupied by the polygon;retrieving a preset value for expressing a degree of transparencycorresponding to the specified pixel; multiplying the fraction of thearea by the preset value to obtain a multiplied product; and mixing apreset color for the specified pixel with a color of another pixeladjacent the specified pixel and not in the polygon based on themultiplied product.
 2. The rendering process according to claim 1,further comprising: resetting the multiplied product as a new degree oftransparency for the specified pixel.
 3. A process for rendering apolygon composed of a plurality of pixels, the polygon being a part ofan image including pixels not in the polygon, the rendering processcomprising: analyzing at least one factor selected from the groupconsisting of a type of the polygon, a degree of transparencycorresponding to the plurality of pixels, and a degree of detail of theimage to produce an analysis result; and for each pixel in the polygon,(a) determining a fraction of the area of the pixel occupied by thepolygon; (b) retrieving a preset value for expressing the degree oftransparency corresponding to the pixel; (c) depending on the analysisresult, multiplying the fraction of the area by the preset value toobtain a multiplied product; and (d) mixing a preset color for the pixelwith a color of another pixel adjacent the pixel and not in the polygonbased on the multiplied product.
 4. The rendering process according toclaim 3, wherein the analyzing step further comprises: storing a valuefor determining the need for the multiplying step; retrieving the storedvalue; and controlling execution of the multiplying step based on thestored value.
 5. A device for rendering a specified pixel in a polygoncomposed of a plurality of pixels, the polygon being a part of an imageincluding pixels not in the polygon, the rendering device comprising: acalculation unit operable to determine a fraction of the area of thespecified pixel occupied by the polygon; a retrieving unit operable toretrieve a preset value for expressing a degree of transparencycorresponding to the specified pixel; a multiplication unit operable tomultiply the fraction of the area by the preset value to obtain amultiplied product; and a mixing unit operable to mix a preset color forthe specified pixel with a color of another pixel adjacent the specifiedpixel and not in the polygon based on the multipled product.
 6. Therendering device according to claim 5, further comprising a resettingunit operable to reset the multiplied product as a new degree oftransparency for the specified pixel.
 7. A device for rendering apolygon composed of a plurality of pixels, the polygon being a part ofan image including pixels not in the polygon, the rendering devicecomprising: an analyzing unit operable to analyze at least one factorselected from the group consisting of a type of the polygon, a degree oftransparency corresponding to the plurality of pixels, and a degree ofdetail of the image to produce an analysis result; a calculation unitoperable to determine, for each pixel in the polygon, a fraction of thearea of the pixel occupied by the polygon; a retrieving unit operable toretrieve a preset value for expressing the degree of transparencycorresponding to the pixel; a multiplication unit operable to multiply,depending on the analysis result, the fraction of the area by the presetvalue to obtain a multiplied product; and a mixing unit operable to mixa preset color for the pixel with a color of another pixel adjacent thepixel and not in the polygon according to the multiplied product.
 8. Therendering device according to claim 7, wherein the analyzing unit storesa value for determining the need for the multiplied product, retrievesthe stored value, and controls operation of the multiplication unitbased on the stored value.
 9. A computer-readable recording mediumhaving recorded thereon a program for rendering a specified pixel in apolygon composed of a plurality of pixels, the polygon being a part ofan image including pixels not in the polygon, the rendering programcomprising: determining a fraction of the area of the specified pixeloccupied by the polygon; retrieving a preset value for expressing adegree of transparency corresponding to the specified pixel; multiplyingthe fraction of the area by the preset value to obtain a multipliedproduct; and mixing a preset color for the specified pixel with a colorof another pixel adjacent the specified pixel and not in the polygonbased on the multiplied product.
 10. The computer-readable recordingmedium according to claim 9, wherein the rendering program furthercomprises: resetting the multiplied product as a new degree oftransparency for the specified pixel.
 11. A computer-readable recordingmedium having recorded thereon a program for rendering a polygoncomposed of a plurality of pixels, the polygon being a part of an imageincluding pixels not in the polygon, the rendering program comprising:analyzing at least one factor selected from the group consisting of atype of the polygon, a degree of transparency corresponding to theplurality of pixels, and a degree of detail of the image to produce ananalysis result; and for each pixel in the polygon, (a) determining afraction of the area of the pixel occupied by the polygon; (b)retrieving a preset value for expressing the degree of transparencycorresponding to the pixel; (c) depending on the analysis result,multiplying the fraction of the area by the preset value to obtain amultiplied product; and (d) mixing a preset color for the pixel with acolor of another pixel adjacent the pixel and not in the polygon basedon the multiplied product.
 12. The computer-readable recording mediumaccording to claim 11, wherein the analyzing step of the renderingprogram further comprises: storing a value for determining the need forthe multiplying step; retrieving the stored value; and controllingexecution of the multiplying step based on the stored value.
 13. Asystem for rendering a specified pixel in a polygon composed of aplurality of pixels, the polygon being part of an image including pixelsnot in the polygon, the rendering system comprising: a processoroperable to execute instructions; and instructions, the instructionsincluding: determining a fraction of the area of the specified pixeloccupied by the polygon; retrieving a preset value for expressing adegree of transparency corresponding to the specified pixel; multiplyingthe fraction of the area by the preset value to obtain a multipliedproduct; and mixing a preset color for the specified pixel with a colorof another pixel adjacent the specified pixel and not in the polygonbased on the multiplied product.